home *** CD-ROM | disk | FTP | other *** search
/ Aminet 2 / Aminet AMIGA CDROM (1994)(Walnut Creek)[Feb 1994][W.O. 44790-1].iso / Aminet / dev / misc / ImageFXDevKit.lha / sdev / include / scan2 / scan_protos.h < prev   
Encoding:
C/C++ Source or Header  |  1993-03-16  |  14.4 KB  |  308 lines

  1. /*
  2.  * Scan 'C' Header File
  3.  * Written by Thomas Krehbiel
  4.  *
  5.  * ScanBase prototypes.
  6.  *
  7.  */
  8.  
  9. #ifndef SCAN2_PROTOS_H
  10.  
  11. #ifndef EXEC_TYPES_H
  12. #include <exec/types.h>
  13. #endif
  14. #ifndef SCAN_DRAW_H
  15. #include <scan/draw.h>
  16. #endif
  17. #ifndef SCAN_WEDGE_H
  18. #include <scan/wedge.h>          /* for WedgeProto */
  19. #endif
  20.  
  21. #ifndef REGARGS
  22.  
  23.  #define __STD(A,F)    A F
  24.  #define __REG(A,F)    A F
  25.  
  26. #define __D0
  27. #define __D1
  28. #define __D2
  29. #define __D3
  30. #define __D4
  31. #define __D5
  32. #define __D6
  33. #define __D7
  34. #define __A0
  35. #define __A1
  36. #define __A2
  37. #define __A3
  38. #define __A4
  39. #define __A5
  40. #define __A6
  41.  
  42. #else
  43.  
  44. #ifdef LATTICE
  45.  #define __STD(A,F)    A F
  46.  #define __REG(A,F)    A __asm F
  47. #endif
  48.  
  49. #ifdef _DCC
  50.  #define __STD(A,F)    A F
  51.  #define __REG(A,F)    __regargs A F
  52. #endif
  53.  
  54. #define __D0            register __d0
  55. #define __D1            register __d1
  56. #define __D2            register __d2
  57. #define __D3            register __d3
  58. #define __D4            register __d4
  59. #define __D5            register __d5
  60. #define __D6            register __d6
  61. #define __D7            register __d7
  62. #define __A0            register __a0
  63. #define __A1            register __a1
  64. #define __A2            register __a2
  65. #define __A3            register __a3
  66. #define __A4            register __a4
  67. #define __A5            register __a5
  68. #define __A6            register __a6
  69.  
  70. #endif
  71.  
  72. /*
  73.  * Scan.library functions:
  74.  */
  75.  
  76. __REG(void,             SB_HidePanel) (void);
  77. __REG(void,             SB_ShowPanel) (void);
  78. __REG(void,             SB_ArrangePanel) (void);
  79. __REG(void,             SB_ShowStatus) (__A0 struct Buffer *buf);
  80.  
  81. __REG(void,             SB_BeginBar) (__A0 char *, __D0 int, __D1 BOOL);
  82. __REG(void,             SB_EndBar) (__A0 char *);
  83. __REG(int,              SB_Bar) (__D0 int);
  84.  
  85. __REG(void,             SB_Error) (void);
  86. __REG(void,             SB_VErrorf) (__A0 char *, __A1 ULONG *);
  87. __REG(void,             SB_TogglePanel) (void);
  88.  
  89. __REG(int,              SB_SerOpen) (__A0 char *, __D0 int, __D1 long, __D2 BOOL);
  90. __REG(void,             SB_SerClose) (void);
  91. __REG(void,             SB_SerBaud) (__D0 long);
  92. __REG(void,             SB_SerRead) (__A0 UBYTE *, __D0 int);
  93. __REG(int,              SB_TimedSerRead) (__A0 UBYTE *, __D0 int, __D1 int);
  94. __REG(void,             SB_SerPutc) (__D0 UBYTE);
  95. __REG(void,             SB_SerWrite) (__A0 UBYTE *, __D0 int);
  96. __REG(void,             SB_SerFlush) (void);
  97. __REG(void,             SB_SerDisable) (void);
  98. __REG(void,             SB_SerEnable) (void);
  99. __REG(int,              SB_SerDirect) (void);
  100.  
  101. __REG(void,             SB_Ged_Set) (__A0 struct Window *, __D0 short, __D1 long);
  102. __REG(long,             SB_Ged_Get) (__A0 struct Window *, __D0 short);
  103. __REG(void,             SB_Ged_Activate) (__A0 struct Window *, __D0 short);
  104. __REG(void,             SB_Ged_Enable) (__A0 struct Window *, __D0 short, __D1 short);
  105.  
  106. __REG(struct BitMap *,  SB_AllocChipBitMap) (__D0 int w, __D1 int h, __D2 int d);
  107. __REG(struct BitMap *,  SB_AllocFastBitMap) (__D0 int w, __D1 int h, __D2 int d);
  108. __REG(void,             SB_DeleteBitMap) (__A0 struct BitMap *bm);
  109. __REG(void,             SB_ClearBitMap) (__A0 struct BitMap *bm);
  110. __REG(int,              SB_CopyBitMap) (__A0 struct BitMap *src, __A1 struct BitMap *dst);
  111.  
  112. __REG(void,             SB_SetError) (__D0 int code);
  113. __REG(int,              SB_GetError) (void);
  114.  
  115. __REG(void *,           SB_DAlloc) (__D0 ULONG, __D1 ULONG, __A0 char *, __A1 char *, __D2 LONG);
  116. __REG(void,             SB_DFree) (__A1 void *, __D0 ULONG, __A0 char *, __A2 char *, __D1 LONG);
  117.  
  118. __REG(int,              SB_IsBuffer) (void);
  119. __REG(void,             SB_FreeBuffer) (void);
  120. __REG(int,              SB_InitBuffer) (__A0 char *, __D0 LONG, __D1 LONG, __D2 LONG, __D3 LONG, __D4 ULONG);
  121. __REG(struct Buffer *,  SB_ObtainBuffer) (__D0 int);
  122. __REG(void,             SB_ReleaseBuffer) (__A0 struct Buffer *);
  123. __REG(int,              SB_GetBufLine) (__A0 struct Buffer *, __A1 UBYTE **, __A2 UBYTE **, __A3 UBYTE **, __D0 LONG);
  124. __REG(int,              SB_PutBufLine) (__A0 struct Buffer *);
  125. __REG(int,              SB_PutNewBufLine) (__A0 struct Buffer *, __A1 UBYTE *, __A2 UBYTE *, __A3 UBYTE *, __D0 LONG);
  126. __REG(int,              SB_PutNewBufLine1) (__A0 struct Buffer *, __A1 UBYTE *, __D0 LONG, __D1 LONG);
  127. __REG(int,              SB_GetBufVLine) (__A0 struct Buffer *, __A1 UBYTE **, __A2 UBYTE **, __A3 UBYTE **, __D0 LONG);
  128. __REG(int,              SB_PutBufVLine) (__A0 struct Buffer *);
  129. __REG(int,              SB_PutNewBufVLine) (__A0 struct Buffer *, __A1 UBYTE *, __A2 UBYTE *, __A3 UBYTE *, __D0 LONG);
  130. __REG(int,              SB_PutNewBufVLine1) (__A0 struct Buffer *, __A1 UBYTE *, __D0 LONG, __D1 LONG);
  131.  
  132. __REG(void,             SB_RenderVirtual) (void);
  133. __REG(void,             SB_RenderPartVirtual) (__D0 LONG, __D1 LONG, __D2 LONG, __D3 LONG);
  134. __REG(void,             SB_VirtualTranslate) (__A0 short *, __A1 short *);
  135. __REG(void,             SB_GetVCoords) (__A0 struct IntuiMessage *, __A1 short *, __A2 short *);
  136. __REG(void,             SB_VirtRow24) (__A0 UBYTE *, __A1 UBYTE *, __A2 UBYTE *, __D0 LONG, __D1 LONG);
  137. __REG(void,             SB_ColorVirtual) (__D0 LONG);
  138. __REG(void,             SB_ClearVirtual) (void);
  139. __REG(void,             SB_VirtRow8) (__A0 UBYTE *, __D0 LONG, __D1 LONG, __D2 LONG);
  140. __REG(void,             SB_VirtCol8) (__A0 UBYTE *, __D0 LONG, __D1 LONG, __D2 LONG);
  141. __REG(void,             SB_VirtualTempClose) (void);
  142. __REG(void,             SB_VirtualTempOpen) (void);
  143.  
  144. __REG(void,             SB_RequestNewRender) (void);
  145.  
  146. __REG(BOOL,             SB_DoQuantize) (__D0 short, __D1 short, __A0 struct Buffer *, __A1 struct Mask *, __A2 UBYTE *, __D2 short);
  147.  
  148. __REG(struct Buffer *,  SB_AllocBuffer) (__A0 char *, __D0 short, __D1 short, __D2 short, __D3 short, __D4 short);
  149. __REG(int,              SB_ReplaceBuffer) (__A0 struct Buffer *, __A1 struct Buffer *);
  150. __REG(void,             SB_KillBuffer) (__A0 struct Buffer *);
  151.  
  152. __REG(BOOL,             SB_ProcessRegion) (__A0 char *, __A1 struct Buffer *, __A2 struct Mask *, __A3 void (*)(UBYTE *, UBYTE *, UBYTE *), __A4 void (*)(UBYTE *));
  153. __REG(BOOL,             SB_ProcessPlane) (__A0 char *, __A1 struct Buffer *, __A2 struct Mask *, __D0 short, __A3 void (*)(UBYTE *));
  154. __REG(BOOL,             SB_SaveUndo) (__A0 struct Buffer *, __D0 short, __D1 short, __D2 short, __D3 short);
  155. __REG(BOOL,             SB_RestoreUndo) (__D0 BOOL);
  156.  
  157. __REG(BOOL,             SB_InitHook) (void);
  158. __REG(void,             SB_CleanupHook) (void);
  159. __REG(BOOL,             SB_EasyProcess) (__A0 char *, __A1 void (*)(UBYTE *, UBYTE *, UBYTE *, short, short), __A2 void (*)(UBYTE *, short, short));
  160.  
  161. __REG(void,             SB_PreOverscan) (__A0 struct NewScreen *);
  162. __REG(void,             SB_PostOverscan) (__A0 struct Screen *);
  163.  
  164. __REG(BOOL,             SB_VBoolRequest) (__A0 char *, __A1 ULONG *);
  165. __REG(char *,           SB_StringRequest) (__A0 char *, __A1 char *);
  166. __REG(long,             SB_IntegerRequest) (__A0 char *, __D0 long, __D1 long, __D2 long);
  167.  
  168. __REG(BOOL,             SB_SetCurrentPalette) (__A0 UBYTE *pal, __D0 int count);
  169. __REG(BOOL,             SB_GetPaletteStruct) (__A0 struct Palette *pal);
  170. __REG(BOOL,             SB_IsRangeLocked) (__D0 short range);
  171. __REG(BOOL,             SB_IsRegisterLocked) (__D0 short reg);
  172. __REG(void,             SB_ModifyPalette) (__D0 short reg, __D1 short r, __D2 short g, __D3 short b);
  173. __REG(short,            SB_UnlockedColors) (__D0 short);
  174. __REG(void,             SB_RefreshPalette) (void);
  175.  
  176. __REG(struct Screen *,  SB_OpenRenderScreen) (__A0 struct NewScreen *, __D0 ULONG, __D1 ULONG);
  177. __REG(void,             SB_CloseRenderScreen) (__A0 struct Screen *);
  178. __REG(void,             SB_DrawRenderArea) (void);
  179.  
  180. __REG(void,             SB_SetModGad) (__A0 struct ModuleBase *, __D0 int, __D1 long);
  181. __REG(short,            SB_Ged_Create) (__A0 struct GedContext *, __A1 struct NewGad *, __A2 char **);
  182. __REG(void,             SB_Ged_Delete) (__A0 struct GedContext *);
  183. __REG(void,             SB_Ged_Add) (__A0 struct GedContext *, __A1 struct Window *);
  184. __REG(void,             SB_Ged_Remove) (__A0 struct GedContext *, __A1 struct Window *);
  185. __REG(int,              SB_ScanWindow) (__A0 struct NewWindow *, __A1 struct NewGad *, __D0 int, __A2 int (*)(struct Window *, struct NewGad *), __A3 int (*)(struct Window *, struct Gadget *), __A4 char **);
  186. __REG(struct IntuiMessage *, SB_Ged_GetIMsg) (__A0 struct Window *, __A1 short *);
  187.  
  188. __REG(void,             SB_VInfoRequest) (__A0 char *, __A1 ULONG *);
  189.  
  190. __REG(BOOL,             SB_CheckMask) (__A0 struct Mask *, __D0 short, __D1 short);
  191.  
  192. __REG(void,             SB_RollScreenUp) (__D0 int);
  193. __REG(void,             SB_RollScreenDown) (void);
  194.  
  195. __REG(void,             SB_InstallCustomMask) (__A0 struct Mask *);
  196. __REG(void,             SB_FreeMask) (__A0 struct Mask *);
  197. __REG(struct Mask *,    SB_BuildRectMask) (__D0 short, __D1 short, __D2 short, __D3 short);
  198. __REG(struct Mask *,    SB_BuildOvalMask) (__D0 short, __D1 short, __D2 short, __D3 short, __D4 BOOL);
  199. __REG(struct Mask *,    SB_BuildPolyMask) (__A0 POINT *);
  200. __REG(struct Mask *,    SB_BuildFloodMask) (__A0 struct Buffer *, __D0 short, __D1 short, __D2 short);
  201. __REG(void,             SB_SetRegionTool) (__D0 short);
  202.  
  203. __REG(BOOL,             SB_SaveBuffer) (__A0 char *, __A1 char *, __A2 char *);
  204. __REG(BOOL,             SB_LoadBuffer) (__A0 char *, __A1 char *, __D0 int);
  205.  
  206. __REG(int,              SB_ParseCommand) (__A0 char *, __A1 struct RexxMsg *);
  207. __REG(BOOL,             SB_RenderPalette) (__A0 struct Buffer *, __A1 struct Mask *, __D0 int, __A2 UBYTE *, __D1 int);
  208.  
  209. __REG(void,             SB_RedrawFull) (void);
  210. __REG(void,             SB_RedrawArea) (__D0 int, __D1 int, __D2 int, __D3 int);
  211.  
  212. __REG(int,              SB_ListRequester) (__A0 char *, __A1 struct ListView *, __D0 int);
  213.  
  214. __REG(int,              SB_VThreeRequest) (__A0 char *, __A1 char *, __A2 char *, __A3 char *, __A4 ULONG *);
  215.  
  216. __REG(BOOL,             SB_UnlockResource) (__D0 ULONG);
  217. __REG(void,             SB_RelockResource) (__D0 ULONG);
  218. __REG(char *,           SB_NewGetFile) (__A0 struct FileInfo *, __A1 char *, __D0 ULONG);
  219. __REG(BOOL,             SB_TakeOver) (__D0 BOOL);
  220. __REG(struct Buffer *,  SB_ReadBuffer) (__A0 char *, __A1 char *);
  221. __REG(BOOL,             SB_SaveBrush) (__A0 struct Buffer *, __A1 char *, __A2 char *);
  222.  
  223. __REG(BOOL,             SB_SaveMapped) (__A0 char *, __A1 char *, __A2 struct MappedImage *, __A3 char *);
  224.  
  225. __REG(struct BIO *,     SB_BOpen) (__A0 char *, __D0 ULONG, __D1 ULONG);
  226. __REG(void,             SB_BClose) (__A0 struct BIO *);
  227. __REG(BOOL,             SB_BPutc) (__A0 struct BIO *, __D0 UBYTE);
  228. __REG(BOOL,             SB_BPuts) (__A0 struct BIO *, __A1 UBYTE *);
  229. __REG(int,              SB_BGetc) (__A0 struct BIO *);
  230. __REG(int,              SB_BGets) (__A0 struct BIO *, __A1 UBYTE *, __D0 int);
  231. __REG(int,              SB_BWrite) (__A0 struct BIO *, __A1 UBYTE *, __D0 int);
  232. __REG(int,              SB_BRead) (__A0 struct BIO *, __A1 UBYTE *, __D0 int);
  233.  
  234. __REG(void,             SB_CloseWindowSafely) (__A0 struct Window *);
  235.  
  236. __REG(void,             SB_RequestNewScanner) (void);
  237. __REG(void,             SB_RequestNewPrinter) (void);
  238.  
  239. __REG(BOOL,             SB_VSetResult) (__A0 struct RexxMsg *, __A1 char *, __A2 ULONG *);
  240.  
  241. __REG(void,             SB_PrepareNW) (__A0 struct NewWindow *, __D0 int, __D1 int, __D2 BOOL);
  242.  
  243. __REG(void,             SB_GetPalette) (__D0 short, __A0 short *, __A1 short *, __A2 short *);
  244.  
  245. __REG(char **,          SB_ReadText) (__A0 char *, __D0 int);
  246. __REG(void,             SB_FreeText) (__A0 char **, __D0 int);
  247.  
  248. __REG(struct DitherArgs *, SB_InitDither) (__A0 struct NewGad *, __A1 struct NewGad *, __A2 struct NewGad *);
  249. __REG(void,             SB_FreeDither) (__A0 struct DitherArgs *);
  250. __REG(void,             SB_DoDither) (__A0 struct Buffer *, __A1 struct DitherArgs *);
  251. __REG(void,             SB_Help) (__A0 char *, __A1 char *);
  252.  
  253. __REG(BOOL,             SB_AddRawWedge) (__A0 char *, __A1 int (*)(WedgeProto), __A2 ULONG);
  254. __REG(void,             SB_RemoveWedge) (__A0 char *, __A1 char *);
  255. __REG(void,             SB_RemoveAllWedges) (void);
  256. __REG(BOOL,             SB_VDoRawWedge) (__A0 char *, __A1 VOID *, __A2 ULONG *);
  257. __REG(void,             SB_QuickPix) (__A0 UBYTE **, __A1 LONG *, __A2 LONG *, __D0 LONG, __D1 LONG);
  258. __REG(void,             SB_QuickLine) (__A0 UBYTE **, __A1 LONG *, __A2 LONG *, __A3 UBYTE *, __D0 LONG, __D1 LONG);
  259.  
  260. __REG(int,              SB_GedWin) (__A0 struct NewWindow *, __A1 struct NewGad *, __D0 int, __A2 int (*)(), __A3 int (*)(), __A4 char **);
  261. __REG(int,              SB_VMWriteAll) (__A0 struct VM_Handle *);
  262. __REG(void,             SB_VMPageChanged) (__A0 struct VM_Handle *, __D0 ULONG);
  263. __REG(APTR,             SB_VMGetPage) (__A0 struct VM_Handle *, __D0 ULONG);
  264.  
  265. __REG(long,             SB_NumberRequest) (__A0 char *, __D0 long, __D1 long, __D2 long);
  266.  
  267. __REG(void,             SB_BFlush) (__A0 struct BIO *);
  268. __REG(int,              SB_BSeek) (__A0 struct BIO *, __D0 int, __D1 int);
  269.  
  270. __REG(int,              SB_VPickFromList) (__A0 char **, __D0 int, __D1 int, __A1 ULONG *);
  271. __REG(int,              SB_LangListRequest) (__A0 char *, __A1 long **, __D0 int, __D1 int, __D2 int, __D3 int, __A2 char **);
  272. __REG(int,              SB_TextListRequest) (__A0 char *, __A1 char **, __D0 int, __D1 int, __D2 int);
  273. __REG(struct ListNode *, SB_PickFromListA) (__A0 struct MinList *);
  274. __REG(struct Blend *,   SB_CreateBlend) (__A0 struct Mask *);
  275. __REG(void,             SB_DeleteBlend) (__A0 struct Blend *);
  276. __REG(short,            SB_mixer) (__D0 short, __D1 short, __D2 short);
  277.  
  278. __REG(int,              SB_GetBufLines) (__A0 struct Buffer *, __A1 UBYTE **, __A2 UBYTE **, __A3 UBYTE **, __D0 short, __D1 short);
  279. __REG(int,              SB_PutBufLines) (__A0 struct Buffer *, __D0 short, __D1 short);
  280.  
  281. __REG(void,             SB_NewPreOverscan) (__A0 struct NewScreen *, __D0 ULONG);
  282.  
  283. __REG(int,              SB_IsAnimation) (__A0 char *, __A1 char *);
  284.  
  285. /*
  286.  * Not in scan.library, but usually part of the stub library:
  287.  */
  288.  
  289. __STD(void,             SB_Errorf) (char *, ...);
  290. __STD(BOOL,             SB_BoolRequest) (char *, ...);
  291. __STD(void,             SB_InfoRequest) (char *, ...);
  292. __STD(int,              SB_ThreeRequest) (char *, char *, char *, char *, ...);
  293. __STD(BOOL,             SB_SetResult) (struct RexxMsg *, char *, ...);
  294. __STD(BOOL,             SB_DoRawWedge) (char *, VOID *, ...);
  295. __STD(int,              SB_PickFromList) (char **, int, int, ...);
  296.  
  297. __STD(void,             SB_msprintf) (char *, ...);
  298.  
  299. __STD(int,              SB_ChangeScanner) (GedButtonProto);
  300. __STD(int,              SB_ChangeRender) (GedButtonProto);
  301. __STD(int,              SB_ChangePrinter) (GedButtonProto);
  302.  
  303. __STD(int,              SB_MatchArg) (char *, ...);
  304.  
  305.  
  306. #define SCAN2_PROTOS_H
  307. #endif
  308.